//
//  HWStability.h
//  OCDome
//
//  Created by 李含文 on 2021/3/31.
//  Copyright © 2021 李含文. All rights reserved.
//

#import <Foundation/Foundation.h>

/// 是否打印异常
static BOOL HWStability_isShowLog = YES;

NS_ASSUME_NONNULL_BEGIN

/// 交换某个类的两个实例方法
void hw_exchangeInstanceMethod(Class cls, SEL originSelector, SEL swizzledSelector);
/// 交换某个类的两个类方法
void hw_exchangeClassMethod(Class cls, SEL originSelector, SEL swizzledSelector);

@interface NSObject (HWHook)
/**
 交换实例方法
 @param originSelector   原方法
 @param swizzledSelector 要交换的方法
 */
+ (void)hw_exchangeInstanceMethod:(SEL)originSelector withSEL:(SEL)swizzledSelector;

/**
 交换类方法
 @param originSelector   原方法
 @param swizzledSelector 要交换的方法
 */
+ (void)hw_exchangeClassMethod:(SEL)originSelector withSEL:(SEL)swizzledSelector;

@end

@interface HWStability : NSObject

+ (instancetype)shared;
/// 开启保护
- (void)openProtection;
@end
NS_ASSUME_NONNULL_END

